package ecu911;

import Negocio.NInstituciones;
import Negocio.NEmergencias;
import Negocio.EmergenciasListado;
import Negocio.InstitucionesListado;
import Negocio.Llamadas;
import Negocio.LlamadasInstituciones;
import Negocio.LlamadasListado;
import Negocio.ProblemasListado;
import Negocio.Sectores;
import Negocio.SectoresListado;
import Negocio.ServiciosProblemas;
import Negocio.ServiciosProblemasListado;
import Negocio.Solicitantes;
import Negocio.Usuarios;
import Negocio.UsuariosListado;
import java.util.ArrayList;

/**
 *
 * @author Marcelo Montaño
 */
public class ClaseServicios implements InterfasMetodos{

    @Override
    public ArrayList conectarUsuario(String idUsuario, String passwordUsuario) {
        boolean usuarioExiste = false;        
        ArrayList usuarioConectado = new ArrayList();
        UsuariosListado misUsuarios = new UsuariosListado();
        Usuarios miUsuario = new Usuarios();
        misUsuarios.listar();
        ArrayList listaUsuarios;
        listaUsuarios = misUsuarios.getUsuarios();
        for (int i = 0; i < listaUsuarios.size(); i++){
            miUsuario = (Usuarios) listaUsuarios.get(i);
            if(miUsuario.getCodigo().equals(idUsuario) && miUsuario.getPassword().equals(passwordUsuario)){
                usuarioExiste = true;
                break;
            }
        }
        if (!usuarioExiste){
            System.out.println("Usuario no existe...");
        }
        else{
            //System.out.println(miUsuario.getNombre() + " " + miUsuario.getApellido() + " conectado...");
            usuarioConectado.add(miUsuario.getCodigo());
            usuarioConectado.add(miUsuario.getNombre());
            usuarioConectado.add(miUsuario.getApellido());
        }
        return usuarioConectado;
    }

    @Override
    public ArrayList crearUsuario(String idUsuario, String nombreUsuario, String apellidoUsuario, String passwordUsuario, boolean estadoUsuario) {
         //formo el objeto y le mando a grabar
        Usuarios miUsuario = new Usuarios();
        miUsuario.setCodigo(idUsuario);
        miUsuario.setNombre(nombreUsuario);
        miUsuario.setApellido(apellidoUsuario);
        miUsuario.setPassword(passwordUsuario);
        miUsuario.setEstado(estadoUsuario);
        return miUsuario.grabar();
    }

    @Override
    public ArrayList crearEmergencia(String idEmergencia, String nombreEmergencia) {
        NEmergencias miEmergencia = new NEmergencias();
        miEmergencia.setIdEmergencia(idEmergencia);
        miEmergencia.setNombreEmergencia(nombreEmergencia);
        return miEmergencia.grabar();
    }

    @Override
    public ArrayList crearSector(String idSector, String nombreSector) {
        Sectores miSector = new Sectores();
        miSector.setIdSector(idSector);
        miSector.setNombreSector(nombreSector);
        return miSector.grabar();
    }

    @Override
    public ArrayList listadoDireccionesInstitucion(String nombreInstitucion) {
        EmergenciasListado misEmergencias = new EmergenciasListado();
        misEmergencias.listarDireccionesInstitucion(nombreInstitucion);
        //System.out.println(misEmergencias.getEmergencias().size());
        return misEmergencias.getEmergencias();
    }

    @Override
    public ArrayList listadoEmergencias() {
        EmergenciasListado misEmergencias = new EmergenciasListado();
        misEmergencias.listar();
        //System.out.println(misEmergencias.getEmergencias().size());
        return misEmergencias.getEmergencias();
    }

    @Override
    public ArrayList listadoSectores() {
        SectoresListado misSectores = new SectoresListado();
        misSectores.listar();
        //System.out.println(misEmergencias.getEmergencias().size());
        return misSectores.getSectores();
    }

    @Override
    public ArrayList listadoProblemas() {
        ProblemasListado misProblemas = new ProblemasListado();
        misProblemas.listar();
        //System.out.println(misEmergencias.getEmergencias().size());
        return misProblemas.getProblemas();
    }

    @Override
    public ArrayList crearSolicitante(String idSolicitante, String nombreSolicitante, String apellidoSolicitante, String telefonoSolicitante) {
        Solicitantes miSolicitante = new Solicitantes();
        miSolicitante.setCedula(idSolicitante);
        miSolicitante.setNombre(nombreSolicitante);
        miSolicitante.setApellido(apellidoSolicitante);
        miSolicitante.setTelefono(telefonoSolicitante);
        return miSolicitante.grabar();
    }

    @Override
    public ArrayList crearLlamada(String idLlamada, String idSolicitante, String direccionLlamada, String fechaLlamada, String horaLlamada, String idSector, String idEmergencia) {
        Llamadas miLlamada = new Llamadas();
        miLlamada.setIdLlamada(idLlamada);
        miLlamada.setIdSolicitante(idSolicitante);
        miLlamada.setDireccion(direccionLlamada);
        miLlamada.setFecha(fechaLlamada);
        miLlamada.setHora(horaLlamada);
        miLlamada.setIdSector(idSector);
        miLlamada.setIdEmergencia(idEmergencia);
        return miLlamada.grabar();
    }

    @Override
    public ArrayList crearLlamadaInstitucion(String idLlamada, String idInstitucion) {
        LlamadasInstituciones miLlamada = new LlamadasInstituciones();
        miLlamada.setIdLlamada(idLlamada);
        miLlamada.setIdInstitucion(idInstitucion);
        return miLlamada.grabar();
    }

    @Override
    public ArrayList listadoLlamadas() {
        LlamadasListado misLlamadas = new LlamadasListado();
        misLlamadas.listar();
        //System.out.println(misEmergencias.getEmergencias().size());
        return misLlamadas.getLlamadas();
    }

    @Override
    public ArrayList listadoServicios() {
        InstitucionesListado misInstituciones = new InstitucionesListado();
        misInstituciones.listar();
        return misInstituciones.getInstituciones();
        
    }

    @Override
    public ArrayList crearInstitucion(String idInstitucion, String nombreInstitucion) {
        NInstituciones miInstitucion = new NInstituciones();
        miInstitucion.setIdInstitucion(idInstitucion);
        miInstitucion.setNombreInstitucion(nombreInstitucion);
        return miInstitucion.grabar();
    }

    @Override
    public ArrayList listadoServiciosProblemas() {
        ServiciosProblemasListado misServiciosProblemas = new ServiciosProblemasListado();
        misServiciosProblemas.listar();
        return misServiciosProblemas.getServiciosProblemas();
    }

    @Override
    public ArrayList crearServicioProblema(String idServicio, String idProblema) {
        ServiciosProblemas miServicioProblema = new ServiciosProblemas();
        miServicioProblema.setIdServicio(idServicio);
        miServicioProblema.setIdProblema(idProblema);
        return miServicioProblema.grabar();
    }
    
}
